Downloading resources (such as a game resource) is an important part of online life of internet users. To attract more users, resource providers (and/or operators) have made a lot effort not only to provide downloading services but also to provide desired downloading speed for users to rapidly obtain resources. Typically, the providers/operators use their own server to provide users with links. Users may then use browsers to visit these links and to download the resources from the server via HTTP (Hyper Text Transport Protocol).
A P2P network is often used to provide additional downloading resources. That is, in addition to the server providing resources for downloading, users who already have the resources (e.g., who have downloaded resources from the server through HTTP) may provide their resources to other users for downloading. For example, nodes (or computers or node computers) in the P2P network may act as a client or server to allow a shared access to their resources for other computers (or users) in the same P2P network to download. The overall downloading speed is then increased and contributed by the downloading speeds provided by both the P2P network and the server.
To save bandwidth of the server, P2P pushing techniques are used by resource providers/operators to increase the downloading speed. In this case, the server may push and send resources to the P2P network prior to their releasing. For example, the server may send the resources to certain P2P nodes in the P2P network before the resources are released, such that less bandwidth will be consumed when the resources are released. As such, when a large amount of users performs downloading at the same time, there is no need to increase bandwidth of the server because P2P network can also provide resources for downloading with a desired downloading speed. Further, after the resources are released and if the server provides an undesired downloading speed, resources can be pushed into the P2P network to provide the desired downloading speed via the P2P network.
During such P2P pushing process, decisions regarding: if a pushing action is needed, when to push resources, and/or how to push resources into the P2P network are made by personal analysis. Schemes for pushing resources are also personally decided and executed, which relies on the person's skills and experiences. It is therefore desirable to provide methods, apparatus, and systems for automatically generating P2P network schemes.